﻿namespace ConsoleApp1.demo;

//类型转换从根本上说是类型铸造，或者说是把数据从一种类型转换为另一种类型。在 C# 中，类型转换有两种形式：
// 隐式类型转换 - 这些转换是 C# 默认的以安全方式进行的转换。例如，从小的整数类型（int）转换为大的整数类型（long），从派生类转换为基类。
// 显式类型转换 - 这些转换是通过用户使用预定义的函数显式完成的。显式转换需要强制转换运算符。

public class TypeConvert
{
    public static void TestConvert1()
    {
        double d = 5673.74;
        int i;

        // 强制转换 double 为 int
        i = (int)d;
        Console.WriteLine(i);
    }


    public static void TestToStr()
    {
        int i = 75;
        float f = 53.005f;
        double d = 2345.7652;
        bool b = true;

        Console.WriteLine(i.ToString());
        Console.WriteLine(f.ToString());
        Console.WriteLine(d.ToString());
        Console.WriteLine(b.ToString());
        // Console.ReadKey();
    }

    public static void TestConvert2()
    {
        string locstr = 123.ToString();

        //如果要将"locstr"转成整型数

        //方法一: 用 Convert 
        int i = Convert.ToInt16(locstr);

        //方法二: 用 Parse
        int ii = int.Parse(locstr);
        
        Console.WriteLine(i);
        Console.WriteLine(ii);
    }
}